//GUI迷宫的头文件
#ifndef MAZEBOARD_H
#define MAZEBOARD_H

#include <QWidget>
#include <QGridLayout>

#include "mazeBlock.h"
#include "maze.h"

class mazeBoard : public QWidget
{
    Q_OBJECT
private:
    QGridLayout *qgl;
    mazeBlock mb[50][50];   //GUI迷宫中的小格，最大支持50X50大小的迷宫
    maze myMaze;            //迷宫的存储和操作对象
    int boardModal;         //迷宫模式，1 展示模式， 2 创作模式
    int buildSize;          //建筑模式下迷宫的大小


    //QWidget* mBoard;
public:
    mazeBoard(QWidget *parent = 0);
    maze* getMaze();            //获取迷宫对象
    int freshBoard();           //将迷宫对象中的信息更新到GUI迷宫中

    int setBuildModal(int s);   //设置建筑模式，s为迷宫大小
    int saveBuildResult();      //保存建筑模式下迷宫的信息到迷宫对象中

    int setShowModal();         //设置显示模式
    int showPath(int pn);       //显示第pn条路径，pn为0时不显示路径

    int updateBoard();          //将迷宫对象中的信息更新到迷宫小格中

    int getBoardModal();        //获取当前迷宫的状态

    //int setBoard(QWidget* b);


signals:

public slots:
};

#endif // MAZEBOARD_H
